import axios from 'axios'
import './index'
const userBaseUrl = import.meta.env.VITE_BASE_URL

// 封装用户请求方式
// axios.get('hhtp://localhost:3000/users')
function userHttp({ url, method, user_name, user_password, user_role, user_islogin }) {
  // console.log()
  return axios({
    url: userBaseUrl + url,
    method,
    data: {
      user_name,
      user_password,
      user_role,
      user_islogin
    }
  })
}

// 封装获取所有用户并分页显示请求
const getAllUserHttp = (page, size, keyword) => {
  if (!keyword) {
    keyword = ''
  }
  return userHttp({
    url: `/users?page=${page}&size=${size}&keyword=${keyword}`, // 修改为正确的API接口
    method: 'get'
  })
}

// 封装获取单个用户的请求
const getOneUserHttp = (id) => {
  return userHttp({
    url: `/users/${id}`, // 修改为正确的API接口
    method: 'get'
  })
}

// 封装添加交管用户的请求
const postTrafficControlUserHttp = (user_name, user_password, user_role) => {
  return userHttp({
    url: '/users',
    method: 'post',
    user_name,
    user_password,
    user_role
  })
}

// 封装用户登录请求
const postUserLoginHttp = (user_name, user_password) => {
  return userHttp({
    url: '/users/login',
    method: 'post',
    user_name,
    user_password
  })
}

// 封装普通用户注册或管理员添加普通用户请求
const postOrdinaryUserHttp = (user_name, user_password) => {
  return userHttp({
    url: '/users',
    method: 'post',
    user_name,
    user_password
  })
}

// 封装修改用户账号的请求
const putUserHttp = (id, user_name, user_password) => {
  return userHttp({
    url: `/users/${id}`, // 修改为正确的API接口
    method: 'put',
    user_name,
    user_password
  })
}
// 封装修改用户登录状态的请求
const putUserIsLoginHttp = (id, user_islogin) => {
  return userHttp({
    url: `/users/${id}`, // 修改为正确的API接口
    method: 'put',
    user_islogin
  })
}

// 封装删除用户请求
const deleteUserHttp = (id) => {
  return userHttp({
    url: `/users/${id}`, // 修改为正确的API接口
    method: 'delete'
  })
}

// 导出用户请求模块
export {
  getAllUserHttp,
  getOneUserHttp,
  postTrafficControlUserHttp,
  postUserLoginHttp,
  postOrdinaryUserHttp,
  putUserHttp,
  putUserIsLoginHttp,
  deleteUserHttp
}
